#ifndef _F16_H_
#define _F16_H_

#include "stdint.h"


typedef struct{
    uint64_t fraction: 52;
    uint64_t exponent: 11;
    uint64_t sign:     1;
}f64Type;

typedef struct{
    uint32_t fraction: 23;
    uint32_t exponent: 8;
    uint32_t sign:     1;
}f32Type;

typedef struct{
    uint16_t fraction: 10;
    uint16_t exponent: 5;
    uint16_t sign:     1;
}f16Type;


f16Type __float2half(float fValue);
float __half2float(f16Type hfValue);


#endif

